// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Projectile.h"
#include "ProjectileBullet.generated.h"

/**
 * 
 */
UCLASS()
class BLASTER_API AProjectileBullet : public AProjectile
{
	GENERATED_BODY()
public:
	AProjectileBullet();
	//当这个对象的一个属性已经被从外部修改时调用
	//WITH_EDITORONLY_DATA：头文件中使用包装反射的成员。也就是说UPROPERTY和UFUNCTION包裹的成员变量。在头文件中应该使用
	//WITH_EDITOR：在CPP文件的代码中使用，与反射无关，一般只是在CPP中使用的
#if WITH_EDITOR
	virtual void PostEditChangeProperty(struct FPropertyChangedEvent& Event) override;
#endif
protected:
	virtual void OnHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp,
										 FVector NormalImpulse, const FHitResult& Hit) override;
	virtual void BeginPlay() override;
};
